<%--
  Created by IntelliJ IDEA.
  User: TYZ
  Date: 2020/3/12
  Time: 19:21
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/common/common.jsp" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<div id="toolbar">
    <button type="button" class="btn btn-primary" onclick="addRole()">增加</button>
</div>
<table id="table"></table>
    <script type="text/javascript">
        $(function(){
            $('#table').bootstrapTable({
                url: "<%=path%>/roleController/findRoleList",
                method: 'POST',                      //请求方式（*）
                toolbar: '#toolbar',    //工具按钮用哪个容器
                contentType: "application/x-www-form-urlencoded",//设置post请求
                striped: true,                      //是否显示行间隔色
                cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                // pagination: true,                   //是否显示分页（*）
                //分页配置 start
                sidePagination:"client",           //分页方式：client客户端分页，server服务端分页（*）
                pageNumber: 1,                      //初始化加载第一页，默认第一页,并记录
                pageSize: 2,                     //每页的记录行数（*）
                pageList: [2, 5, 6],        //可供选择的每页的行数（*）
                //分页配置 end
                search: true,                      //是否显示表格搜索
                showColumns: true,                  //是否显示所有的列（选择显示的列）
                showRefresh: true,                  //是否显示刷新按钮
                clickToSelect: true,                //是否启用点击选中行
                showToggle: true,                   //是否显示详细视图和列表视图的切换按钮
                strictSearch: true,					//严格搜索
                columns: [
                    {
                        checkbox: true,
                        visible: true                  //是否显示复选框
                    },{
                        field: 'roleId',
                        title: 'ID'
                    }, {
                        field: 'roleName',
                        title: '职务'
                    }, {
                        title : '操作',
                        formatter : function(value, row, index) {
                            var roleId = row.roleId;
                            var result = "";
                            result += "<a href='javascript:updateInfo(" + roleId + ")' class='btn btn-xs blue' title='编辑'><span class='glyphicon glyphicon-pencil'></span></a>";
                            result += "<a href='javascript:deleteInfoById(" + roleId + ")' class='btn btn-xs red' title='删除'><span class='glyphicon glyphicon-remove'></span></a>";
                            return result;
                        }
                    }
                ]
            });
        })

        function getData(){
            $('#table').bootstrapTable("refresh");
        }

        function addRole(){
            BootstrapDialog.show({
                title: '添加角色',
                message: $('<div></div>').load('<%=path%>/roleController/toAdd'),
                /* type: BootstrapDialog.TYPE_SUCCESS, */
                /* size: BootstrapDialog.SIZE_SMALL, */
                buttons: [{
                    label: '取消',
                    cssClass : "btn btn-info",
                    action: function (dialog) {
                        dialog.close();
                    }
                }, {
                    label: '确定',
                    cssClass : "btn btn-info",
                    action: function (dialog) {
                        //获取ztree树
                        var treeObj = $.fn.zTree.getZTreeObj("menuZtree");
                        //获取被选中节点集合，false就是获取未被选中的节点集合
                        var nodes = treeObj.getCheckedNodes(true);
                        //定义集合接收被选中的菜单id
                        var menuIds = [];
                        //遍历被选中的节点去除id 并存入集合中
                        for (var i = 0; i < nodes.length; i++) {
                            menuIds.push(nodes[i].id);
                        }
                        //不勾选权限的话，禁止提交
                        if (menuIds.length == 0) {
                            toastr.error("请选择权限");
                            return;
                        }
                        //执行添加逻辑
                        $.ajax({
                            url:"<%=path %>/roleController/addRole",
                            type:"post",
                            data: {roleName: $("#roleName").val(),menuIds:menuIds},
                            dataType:"json",
                            async:false,
                            success:function(result){
                                toastr.success("成功");
                                dialog.close();
                                getData();
                            },
                            error:function(result){
                                alert("系统异常,请联系管理员处理");
                            }
                        })
                    }
                }]
            });
        }
        //删除
        function deleteInfoById(roleId){
            $.ajax({
                url:"<%=path %>/roleController/deleteInfoById/"+roleId,
                type:"post",
                dataType:"json",
                async:false,
                success:function(result){
                    toastr.success("成功");
                    getData();
                },
                error:function(result){
                    toastr.error("系统异常,请联系管理员处理");
                }
            })
        }
        //修改
        function updateInfo(roleId){
            BootstrapDialog.show({
                title: '添加角色',
                message: $('<div></div>').load('<%=path%>/roleController/updateInfo/'+roleId),
                /* type: BootstrapDialog.TYPE_SUCCESS, */
                /* size: BootstrapDialog.SIZE_SMALL, */
                buttons: [{
                    label: '取消',
                    cssClass : "btn btn-info",
                    action: function (dialog) {
                        dialog.close();
                    }
                }, {
                    label: '确定',
                    cssClass : "btn btn-info",
                    action: function (dialog) {
                        //获取ztree树
                        var treeObj = $.fn.zTree.getZTreeObj("menuZtree");
                        //获取被选中节点集合，false就是获取未被选中的节点集合
                        var nodes = treeObj.getCheckedNodes(true);
                        //定义集合接收被选中的菜单id
                        var menuIds = [];
                        //遍历被选中的节点去除id 并存入集合中
                        for (var i = 0; i < nodes.length; i++) {
                            menuIds.push(nodes[i].id);
                        }
                        //不勾选权限的话，禁止提交
                        if (menuIds.length == 0) {
                            toastr.error("请选择权限");
                            return;
                        }
                        //执行添加逻辑
                        $.ajax({
                            url:"<%=path %>/roleController/updateRole",
                            type:"post",
                            data: {roleId: $("#roleId").val(),roleName: $("#roleName").val(),menuIds:menuIds},
                            dataType:"json",
                            async:false,
                            success:function(result){
                                toastr.success("修改成功");
                                dialog.close();
                                getData();
                            },
                            error:function(result){
                                alert("系统异常,请联系管理员处理");
                            }
                        })
                    }
                }]
            });
        }

    </script>
</body>
</html>
